Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Розробка та моделювання декодера для семисегментного індикатора

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2005
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Мови опису апаратних засобів
Група:
КІ-44

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 2 з курсу „ Мови опису апаратних засобів ” Тема: Розробка та моделювання декодера для семисегментного індикатора Львів – 2005 Мета роботи: вивчити методи опису поведінки об'єктів за допомогою архітектур та процесів, шляхи застосування оператора вибору case, навчитись моделювати поведінку об'єктів в САПР Active-HDL. Теоретичні відомості: Для візуалізації процесів, що протікають в складному цифровому пристрої, необхідно виводити значення сигналів на 7-сегментний індикатор. Необхідно розробити на VHDL пристрій "декодер", що перетворює вхідний 4-розрядний двійково-десятковий код у сигнал для одного розряду 7-сегментного індикатора. Кожний розряд індикатора являє собою 7 сегментів, подання логічної одиниці на які викликає їх свічення. Наприклад, подання на індикатор числа "1101101" приведе до висвічення цифри "3": Інтерфейс декодера: 4-розрядний вхідний порт X типу std_logic_vector (3 downto 0), вихідний 7-розрядний порт Y типу std_logic_vector (6 downto 0): Якщо на вхід Х пристрою об'єкта поданий код від 0 до 9, декодер повинен сформувати на виході Y сигнал, який задає зображення цього числа. Для кодів 10..15 на виході формується сигнал "0000000" (жоден сегмент індикатора не світиться). Декодер повинен оновлювати сигнал Y кожний раз, коли змінюється значення вхідного порту Х. Рекомендації до створення VHDL-опису: Можливі значення вихідного сигналу задавати за допомогою констант. Для перетворення вхідного сигналу з типу std_logic_vector в тип integer використовувати функцію Conv_Integer. Приклад її застосування: n := Conv_Integer(S) , де n - змінна типу integer, S - змінна або сигнал типу std_logic_vector. Для того, щоби використовувати цю функцію, необхідно підключити відповідний пакет підпрограм, додавши рядок use IEEE.STD_LOGIC_UNSIGNED.all; на початку файлу опису. При застосуванні оператора case використати можливість вибору алтернативи для всіх можливих значень змінної або сигналу. Порядок виконання роботи: Створив новий проект в Active-HDL. Створив об'єкт декодера та описав на VHDL його поведінку. Скомпілював створений об'єкт (меню Design \ Compile, або клавіша <F11>). У вікні Design Browser для встановлення верхнього рівня моделювання (Top Level) вибрав об'єкт-декодер. Ініціалізував моделювання об'єкту (меню Simulation \ Initialize Simulation). Створив в проекті новий файл Waveform Viewer (меню File \ New \ Waveform). Вставив в вікно Waveform Viewer вхідний та вихідний сигнали декодера (меню Waveform \ Add Signals). Призначив вхідному сигналу декодера стимулятори (меню Waveform \ Stimulators). Запустив процес симуляції декодера (меню Simulation \ Run). Дослідив та перевірив отримані часові діаграми роботи декодера. Змінюючи стимулятори на вхідних портах декодера, перевірив коректність його роботи для всіх можливих значень на вході. Текст VHDL-опису декодера. library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all; entity Decoder is port( X : in STD_LOGIC_VECTOR(3 downto 0); Y : out STD_LOGIC_VECTOR(6 downto 0) ); end Decoder; architecture Dec of Decoder is begin process(X) variable n:integer; begin n:=Conv_Integer(X); case n is when 0 => Y <= "1110111"; when 1 => Y <= "0100100"; when 2 => Y <= "1011101"; when 3 => Y <= "1101101"; when 4 => Y <= "0101110"; when 5 => Y <= "1101011"; when 6 => Y <= "1101111"; when 7 => Y <= "1010010"; when 8 => Y <= "1111111"; when 9 => Y <= "1101111"; when others => Y <= "0000000"; end case; end process; end Dec; Часові діаграми роботи декодера.  Висновки: виконуючи дану лабораторну роботу, я вивчив методи опису поведінки об'єктів за допомогою архітектур та процесів, шляхи застосування оператора вибору case, навчився моделювати поведінку об'єктів в САПР Active-HDL на прикладі моделювання декодера.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини